package com.ea.api.controller.admin;

import com.ea.common.response.JsonResult;
import com.ea.domain.dto.LoginCreateDTO;
import com.ea.domain.dto.LoginDTO;
import com.ea.domain.dto.LoginUpdateDTO;
import com.ea.domain.dto.PasswordChangeDTO;
import com.ea.domain.query.AdminQueryDTO;

import java.util.Map;

/**
 * @author NAME-L
 * @Description 后台用户登录API
 * @className
 * @date 2022-12-01 22:16:12
 */
public interface AdminInfoApi {

    /**
     * 管理员登录
     *
     * @return
     */
    JsonResult adminLoginIn(LoginDTO loginDTO);

    /**
     * 管理员登出
     * @return
     */
    JsonResult adminLoginOut();

    /**
     * 获取管理员列表
     * @return
     */
    JsonResult getAdminInfoList(AdminQueryDTO queryDTO);

    /**
     * 创建管理员
     * @return
     */
    JsonResult createAdminInfo(LoginCreateDTO createDTO);

    /**
     * 更新管理员信息
     * @return
     */
    JsonResult updateAdminInfo(LoginUpdateDTO updateDTO);

    /**
     * 注销管理员
     * @param adminId
     */
    JsonResult writeOffAdmin(Long adminId);

    /**
     * 修改密码
     * @param changeDTO
     */
    JsonResult changePassword(PasswordChangeDTO changeDTO);

    /**
     * 重置账号密码
     * @param adminId
     * @return
     */
    JsonResult resetPassword(Long adminId);


}
